package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

/**
 * 注意：后来经研究发现，SpringBoot项目的Bean装配默认规则是根据Application类（SpringBoot项目入口类）
 * 所在的包位置从上往下扫描！这个类的位置很关键：如果Application类所在的包为：io.github.project.app，
 * 则只会扫描io.github. project.app包及其所有子包，如果service或dao所在包不在io.github. project.app及其子包下，
 * 则不会被扫描，这时可以配置其扫描路径，如：@ComponentScan(basePackages={"com.example"})。
 */
@SpringBootApplication
//@ComponentScan(basePackages={"com.example"})// 若 Application 类在 com.example 包下，则默认会扫描 com.example 包及其子包
public class Application extends SpringBootServletInitializer {


	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}



	//打 war 包需要重写该方法
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(Application.class);
	}


}
